-- *****************************************************************
-- CISCO-DOT11-LBS-MIB.my: 
-- CISCO IEEE 802.11 Wireless LAN Location Based Services MIB
--
-- September 2004, Francis Pang 
--
-- Copyright (c) 2004 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--

CISCO-DOT11-LBS-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        TEXTUAL-CONVENTION,
        MacAddress,
        RowStatus,
        TruthValue
                FROM SNMPv2-TC
        ifIndex
                FROM IF-MIB
        InetPortNumber,
        InetAddressType,
        InetAddress
                FROM INET-ADDRESS-MIB
        SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB
        ciscoMgmt
                FROM CISCO-SMI;


ciscoDot11LbsMIB MODULE-IDENTITY
        LAST-UPDATED    "200411170000Z"
        ORGANIZATION    "Cisco System Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service

                Postal: 170 West Tasman Drive,
                        San Jose CA 95134-1706.
                        USA

                   Tel: +1 800 553-NETS

                E-mail: cs-dot11@cisco.com"
        DESCRIPTION
                "This MIB module supports network management 
                for Location Based Services on IEEE 802.11 wireless
                LAN devices.  Location Based Services allows third
                party applications and positioning servers to work 
                with Access Points to track positions of wireless 
                clients in the network.  

                          GLOSSARY and ACRONYMS

                AP
                    Access point, a transmitter/receiver device
                    that commonly connects and transports data
                    between a wireless network and a wired network.

                LBS 
                    Location Based Services

                MAC
                    Medium Access Control.  Layer 2 in the network 
                    model. 

                PS
                    Positioning Server.  An application server
                    provides IEEE 802.11 wireless client location
                    information and services.

                RSSI 
                    Received Signal Strength Indication."

        REVISION        "200411170000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 454 }


ciscoDot11LbsMIBNotifs    OBJECT IDENTIFIER
        ::= { ciscoDot11LbsMIB 0 }

ciscoDot11LbsMIBObjects       OBJECT IDENTIFIER 
        ::= { ciscoDot11LbsMIB 1 }

ciscoDot11LbsMIBConformance   OBJECT IDENTIFIER 
        ::= { ciscoDot11LbsMIB 2 }

ciscoDot11LbsConfigInfo       OBJECT IDENTIFIER 
        ::= { ciscoDot11LbsMIBObjects 1 }

ciscoDot11LbsStatistics       OBJECT IDENTIFIER 
        ::= { ciscoDot11LbsMIBObjects 2 }


-- Textual Conventions

Cdot11LbsTrackMethodType ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
                "These are the supported methods for wireless
                client location tracking:
                    rssi(0)    - RSSI detection." 
        SYNTAX     BITS {
                    rssi(0)
                        }

Cdot11LbsPsPacketType ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
                "These are the types of packets sending to the
                positioning server.  There are two packet types:
                    extended(1) -  all data field from LBS message
                                   Tag and header are included,
                    short(2)    -  only the LBS message header will
                                   be included in the PS packets."
        SYNTAX     INTEGER {
                    extended(1),
                    short(2)
                           }

-- Configuration Information Objects

cdot11LbsProfileTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF Cdot11LbsProfileEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "This table contains the set of attributes for 
                configuration of connection to remote LBS positioning
                servers and tracking methods supported on the servers.
                A positioning server may support LBS application at 
                multiple UDP ports.  This wireless station serves as
                a LBS agent to track the wireless client device.  It
                receives multicast wireless packet sending by the 
                client devices on specific multicast addresses and 
                forward the information to the positioning server."
        ::= { ciscoDot11LbsConfigInfo 1 }

cdot11LbsProfileEntry OBJECT-TYPE
        SYNTAX     Cdot11LbsProfileEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "Each entry contains parameters to configure
                a LBS positioning server profile for this wireless
                station."
        INDEX      { 
                cdot11LbsProfileName 
                   }
        ::= { cdot11LbsProfileTable 1 }

Cdot11LbsProfileEntry ::=
        SEQUENCE {
                cdot11LbsProfileName        SnmpAdminString,
                cdot11LbsServerAddressType  InetAddressType,
                cdot11LbsServerAddress      InetAddress,
                cdot11LbsServerUdpPort      InetPortNumber, 
                cdot11LbsTrackMethod        Cdot11LbsTrackMethodType,
                cdot11LbsPsPacketType       Cdot11LbsPsPacketType,
                cdot11LbsTrackMulticast     MacAddress,
                cdot11LbsMatchChannel       TruthValue,       
                cdot11LbsProfileRowStatus   RowStatus 
                 }

cdot11LbsProfileName OBJECT-TYPE
        SYNTAX     SnmpAdminString (SIZE (1..16))
        MAX-ACCESS not-accessible 
        STATUS     current 
        DESCRIPTION
                "This is the name of LBS profile for configuration of
                a connection to a LBS positioning server at a specific
                address and UDP port."
        ::= { cdot11LbsProfileEntry 1 }
 
cdot11LbsServerAddressType OBJECT-TYPE
        SYNTAX     InetAddressType 
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "This is the address type of the 
                cdot11LbsServerAddress."
        DEFVAL     { ipv4 }
        ::= { cdot11LbsProfileEntry 2 }

cdot11LbsServerAddress OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS read-create
        STATUS     current 
        DESCRIPTION
                "This is the address of the LBS positioning server.
                The cdot11LbsServerAddressType specifies the 
                type of this address."  
        ::= { cdot11LbsProfileEntry 3 }
 
cdot11LbsServerUdpPort OBJECT-TYPE
        SYNTAX     InetPortNumber 
        MAX-ACCESS read-create
        STATUS     current 
        DESCRIPTION
                "This is the UDP port of the LBS positioning server
                used to receive LBS packets from this wireless
                station."
        ::= { cdot11LbsProfileEntry 4 }
 
cdot11LbsTrackMethod OBJECT-TYPE
        SYNTAX     Cdot11LbsTrackMethodType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "This specifies the method used to detect the
                location of the wireless client relative to the
                position of this wireless station.  RSSI method
                uses the strength of the received signals from
                the wireless client devices to determine their 
                positions."  
        DEFVAL     { { rssi } }
        ::= { cdot11LbsProfileEntry 5 }

cdot11LbsPsPacketType OBJECT-TYPE        
        SYNTAX     Cdot11LbsPsPacketType 
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "This specifies the type of LBS packets sent to 
                the LBS position server from this wireless station." 
        DEFVAL     { extended }
        ::= { cdot11LbsProfileEntry 6 }

cdot11LbsTrackMulticast OBJECT-TYPE
        SYNTAX     MacAddress
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "This is the multicast MAC destination address
                of the LBS frames sending from the wireless 
                clients to this wireless station."
        DEFVAL     { '014096000010'H } 
        ::= { cdot11LbsProfileEntry 7 }

cdot11LbsMatchChannel OBJECT-TYPE
        SYNTAX     TruthValue 
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "This object determines if this wireless station will
                include LBS frames received in channels other than
                the sender's channel in the RSSI measurement.  If the
                value is 'true', this station will include only LBS 
                frames matching the sender's channel in the RSSI
                measurement.  If the value is 'false', all received
                LBS frames will be included in the measurement." 
        DEFVAL     { true }
        ::= { cdot11LbsProfileEntry 8 }

cdot11LbsProfileRowStatus OBJECT-TYPE
        SYNTAX     RowStatus
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "This configures a new LBS positioning server for this
                wireless station and modifies or deletes an existing 
                positioning server configuration.

                Creation of rows must be done via 'createAndGo' and
                with the cdot11LbsServerAddress and
                cdot11LbsServerUdpPort set to the address and UDP
                of the LBS positioning server.

                This object will become 'notInService' if the NMS 
                successfully performs a multivarbind set for all 
                required objects including this object while this
                profile is not attached to any wireless interface
                or a connection cannot be established to the LBS
                positioning server.

                This object will become 'active' when this profile
                is attached to at least one wireless interface via 
                cdot11LbsProfInterfaceTable and a connection to the
                LBS positioning server is successfully established. 

                Modification and deletion (via 'destroy') of rows can
                be done when this object is 'active', or 
                'notInService'.  Deletion of a row will remove the
                corresponding entries for the same profile from the
                cdot11LbsProfInterfaceTable."  
        ::= { cdot11LbsProfileEntry 9 }


cdot11LbsProfInterfaceTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF Cdot11LbsProfileInterfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION   
                "This table configures the Location Based Services
                settings on the IEEE 802.11 radio interfaces of 
                this device.                  

                This table has an expansion dependent relationship
                on the cdot11LbsProfileTable.  This table uses the
                ifIndex of interfaces of ifType ieee80211(71) as 
                the expansion index."
        ::= { ciscoDot11LbsConfigInfo 2 }

cdot11LbsProfInterfaceEntry OBJECT-TYPE
        SYNTAX     Cdot11LbsProfileInterfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION   
                "Each entry indicates if the LBS client location 
                tracking by a particular location positioning server
                profile is enabled on an IEEE 802.11 interface."
        INDEX      { 
                cdot11LbsProfileName,
                ifIndex
                   }
        ::= { cdot11LbsProfInterfaceTable 1 }

Cdot11LbsProfileInterfEntry ::=
        SEQUENCE {
                cdot11LbsProfInterfaceRowStatus  RowStatus 
                 } 

cdot11LbsProfInterfaceRowStatus OBJECT-TYPE
        SYNTAX     RowStatus
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "This configures and attaches a LBS profile to an 
                IEEE 802.11 wireless LAN network interface or remove
                a configured interface from the profile.

                Creation of rows must be done via 'createAndGo' and
                specifying the cdot11LbsProfileName of an existing
                profile and the ifIndex of an IEEE 802.11 interface. 

                This object will become 'active' when the profile is
                attached to a network interface and a connection to the
                LBS positioning server is successfully established. 
                Otherwise, if this object will become 'notInService'.

                Modification and deletion (via 'destroy') of rows can
                be done when this object is 'active' or 'notInService'.

                If all interfaces are removed from an 'active' profile,
                the profile cdot11LbsProfileRowStatus will become
                'notInService'." 
        ::= { cdot11LbsProfInterfaceEntry 1 }



-- *****************************************************************
--   Conformance information
-- *****************************************************************

ciscoDot11LbsMIBCompliances OBJECT IDENTIFIER 
        ::= { ciscoDot11LbsMIBConformance 1 }

ciscoDot11LbsMIBGroups OBJECT IDENTIFIER 
        ::= { ciscoDot11LbsMIBConformance 2 }


-- *****************************************************************
--   Compliance statements
-- *****************************************************************


ciscoDot11LbsMIBCompliance MODULE-COMPLIANCE
        STATUS     current
        DESCRIPTION
                "The compliance statement for the 
                ciscoDot11LbsMIB module."
        MODULE 
        MANDATORY-GROUPS { 
                ciscoDot11LbsConfigGroup
                         } 
        ::= { ciscoDot11LbsMIBCompliances 1 }


-- *****************************************************************
--   Units of conformance
-- *****************************************************************

ciscoDot11LbsConfigGroup OBJECT-GROUP
        OBJECTS { 
                cdot11LbsServerAddressType, 
                cdot11LbsServerAddress,
                cdot11LbsServerUdpPort,
                cdot11LbsTrackMethod,
                cdot11LbsPsPacketType,
                cdot11LbsTrackMulticast,
                cdot11LbsMatchChannel,
                cdot11LbsProfileRowStatus,
                cdot11LbsProfInterfaceRowStatus
                }
        STATUS     current
        DESCRIPTION
                "Configurations for IEEE 802.11 Location Based
                Services."
        ::= { ciscoDot11LbsMIBGroups 1 }

END